home *** CD-ROM | disk | FTP | other *** search
/ Halting the Hacker - A P…uide to Computer Security / Halting the Hacker - A Practical Guide to Computer Security.iso / rfc / rfc1240.txt < prev    next >
Text File  |  1997-04-01  |  18KB  |  451 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                            C. Shue
  8. Request for Comments: 1240                      Open Software Foundation
  9.                                                              W. Haggerty
  10.                                                  Wang Laboratories, Inc.
  11.                                                               K. Dobbins
  12.                                                  Cabletron Systems, Inc.
  13.                                                                June 1991
  14.  
  15.  
  16.           OSI Connectionless Transport Services on top of UDP
  17.                                Version: 1
  18.  
  19. Status of this Memo
  20.  
  21.    This document describes a protocol for running OSI Connectionless
  22.    service on UDP.  This RFC specifies an IAB standards track protocol
  23.    for the Internet community, and requests discussion and suggestions
  24.    for improvements.  Please refer to the current edition of the "IAB
  25.    Official Protocol Standards" for the standardization state and status
  26.    of this protocol.  Distribution of this memo is unlimited.
  27.  
  28. 1.  Introduction and Philosophy
  29.  
  30.    The Internet community has a well-developed, mature set of layered
  31.    transport and network protocols, which are quite successful in
  32.    offering both connection-oriented (TCP) and connectionless (UDP)
  33.    transport services over connectionless network services (IP) to end-
  34.    users.  Many popular network applications have been built directly on
  35.    top of the TCP and UDP over the past decade.  These have helped the
  36.    Internet services and protocols to become widely-spread de facto
  37.    standards.  In the past few years, the ISO and CCITT have defined a
  38.    well-architected set of upper layer standards which include
  39.    connection-oriented and connectionless session, presentation, and
  40.    application layer services and protocols.  These OSI upper layer
  41.    standards offer valuable services to application developers (e.g.,
  42.    dialogue control, transfer syntax, peer authentication, directory
  43.    services, etc.) which are not currently offered by the TCP/IP
  44.    standards.
  45.  
  46.    As indicated in RFC 1006, it is desirable to offer the OSI upper
  47.    layer services directly in the Internet without disrupting existing
  48.    facilities.  This permits a more graceful convergence and transition
  49.    strategy from IP-based networks to OSI-based networks in the future.
  50.    Using the approach of RFC 1006, this memo specifies how to offer OSI
  51.    connectionless transport service using the User Datagram Protocol
  52.    (UDP) [RFC768] of the TCP/IP suite.
  53.  
  54.    We will define a Transport Service Access Point (TSAP) which appears
  55.  
  56.  
  57.  
  58. Shue, Haggerty & Dobbins                                        [Page 1]
  59.  
  60. RFC 1240                   OSI on top of UDP                   June 1991
  61.  
  62.  
  63.    to be identical to the services and interfaces defined in ISO 8072
  64.    and its Addendum 1, but we will in fact implement the ISO T-UNIT-DATA
  65.    protocol on top of UDP.  By this means, OSI TPDU's can be delivered
  66.    across the Internet network, and OSI connectionless upper layers can
  67.    operate fully without knowledge of the fact that they are running on
  68.    top of UDP/IP.  In essence, the OSI T-UNIT-DATA service will use UDP
  69.    as its connectionless network service provider.
  70.  
  71. 2.  Motivation
  72.  
  73.    The primary motivation for the standard described in this memo is to
  74.    facilitate the process of gaining experience with OSI connectionless
  75.    upper layers protocols, i.e., S-UNIT-DATA [ISO9548], P-UNIT-DATA
  76.    [ISO9576] and A-UNIT-DATA [ISO10035], and connectionless transport
  77.    protocol T-UNIT-DATA [ISO8602].
  78.  
  79.    Though many OSI standard applications such as X.400 and FTAM are
  80.    connection-oriented, it is recognized in the OSI reference model
  81.    [ISO7498/AD1] as well as in practice that the connectionless-mode
  82.    operations are appropriate for certain distributed application
  83.    classes and environments.  The following connectionless application
  84.    classes were identified by ISO SC21/WG6 [ISOSC21/WG6 N184]:
  85.  
  86.          -    Request-Response Applications
  87.          -    Broadcast/Multicast
  88.          -    Inward Data Collection
  89.          -    Migratory/Unreliable Processes
  90.  
  91.    Among them, the "request/response" client-server application class is
  92.    the most prominent one, which is gaining popularity and importance.
  93.    It is observed that the connection setup and tear-down protocol
  94.    exchanges and complex connection-oriented protocol machines become
  95.    unnecessary overheads for a simple request/response exchange between
  96.    a client application and a server application, especially in reliable
  97.    communications environments such as LAN and ISDN.  The OSI
  98.    connectionless upper layers are thought to be highly effective and
  99.    efficient, both in time and space, for the distributed application
  100.    classes mentioned above.
  101.  
  102.    The stability, maturity and wide availability of UDP/IP are ideal for
  103.    providing solid connectionless transport services independent of
  104.    actual implementations.
  105.  
  106. 3.  The Model
  107.  
  108.    The [ISO 8072/AD1] standard describes the OSI connectionless
  109.    transport services definition. The [ISO 8602] standard describes the
  110.    OSI connectionless transport protocols.  A defining characteristic of
  111.  
  112.  
  113.  
  114. Shue, Haggerty & Dobbins                                        [Page 2]
  115.  
  116. RFC 1240                   OSI on top of UDP                   June 1991
  117.  
  118.  
  119.    transport connectionless-mode transmission is the independent nature
  120.    of each invocation of the connectionless transport service.
  121.  
  122.    The OSI transport service definition describes the services offered
  123.    by the TS-provider and the interfaces used to access those services.
  124.    It also describes the services required.  This memo focuses on how
  125.    UDP [RFC 768] can be used to offer the required services and provide
  126.    the interfaces.
  127.  
  128.  
  129.    The following is the model:
  130.  
  131.  
  132.         +-----------+                               +-----------+
  133.         |  TS-user  |                               |  TS-user  |
  134.         +-----------+                               +-----------+
  135.               |                                           |
  136.               |CLTS interface                             |
  137.               |[ISO 8072/AD1]                             |
  138.               |                                           |
  139.      _________________________________________________________________
  140.     |         |                                           |           |
  141.     |         |                                           |           |
  142.     |   +-----------+            UD TPDU            +-----------+     |
  143.     |   |  TS-peer  |   <----------------------->   |  TS-peer  |     |
  144.     |   +-----------+                               +-----------+     |
  145.     |         |                                           |           |
  146.     |         |                                           |           |
  147.     |         |                                           |           |
  148.     |         |UDP interface [RFC 768]                    |           |
  149.     |         |                                           |           |
  150.     |   +-----------+          UDP datagram         +-----------+     |
  151.     |   |    UDP    |   <----------------------->   |    UDP    |     |
  152.     |   +-----------+     (UD TPDU encapsulated)    +-----------+     |
  153.     |         |                                           |           |
  154.     |         |                                           |           |
  155.     |         |                                           |           |
  156.     |         |                                           |           |
  157.     |                                                                 |
  158.     |                                                                 |
  159.     |                           TS-provider                           |
  160.     |_________________________________________________________________|
  161.  
  162.  
  163. The following abbreviations are used:
  164.  
  165.  
  166.     CLTS          Connectionless Transport
  167.  
  168.  
  169.  
  170. Shue, Haggerty & Dobbins                                        [Page 3]
  171.  
  172. RFC 1240                   OSI on top of UDP                   June 1991
  173.  
  174.  
  175.     TS            Transport Services (implies connectionless transport
  176.                   service in this memo)
  177.  
  178.     TSAP          Transport Service Access Point
  179.  
  180.     TS-peer       a process which implements the mapping of CLTS
  181.                   protocols onto the UDP interface as described by
  182.                   this memo
  183.  
  184.     TS-user       a process using the services of a TS-provider
  185.  
  186.     TS-provider   the abstraction of the totality of those entities
  187.                   which provide the overall service between the two
  188.                   TS-users
  189.  
  190.     UD TPDU       Unit Data TPDU (Transport Protocol Data Unit)
  191.  
  192.    Each TS-user gains access to the TS-provider at a TSAP.  The two TS-
  193.    users can communicate with each other using a connectionless
  194.    transport provided that there is pre-arranged knowledge about each
  195.    other (e.g., protocol version, formats, options, ... etc.), since
  196.    there is no negotiation before data transfer.  In the above diagram
  197.    one TS-user passes a message to the TS-provider, and the peer TS-user
  198.    receives the message from the TS-provider.  The interactions between
  199.    TS-user and TS-provider are described by connectionless TS
  200.    primitives.
  201.  
  202.    All aspects of [ISO 8072/AD1] are supported in this memo with one
  203.    exception: QOS (Quality of Service) parameter, which is left for
  204.    future study.
  205.  
  206.    The OSI standards do not specify the format of a TSAP selector.
  207.    Neither does this memo.  However, implementors should consult the
  208.    GOSIP 1.0 specification [GOSIP88/FIPS146] for an interpretation of
  209.    this parameter, wherein the TSAP selector consists of two octets and
  210.    a value of (binary) 1 identifies the service interface between OSI
  211.    transport layer and session layer.
  212.  
  213. 4.  The Primitives
  214.  
  215.    This RFC assumes that UDP [RFC768] offers the following service
  216.    primitives:
  217.  
  218.     send datagram  -  datagram is sent to the IP address/destination
  219.                       port
  220.  
  221.     read datagram  -  datagram is read from UDP
  222.  
  223.  
  224.  
  225.  
  226. Shue, Haggerty & Dobbins                                        [Page 4]
  227.  
  228. RFC 1240                   OSI on top of UDP                   June 1991
  229.  
  230.  
  231.    Data can only be read from a receive port after the port has been
  232.    created.  This is a local matter.
  233.  
  234.    This memo reserves the use of UDP port 102 for the use of
  235.    applications which realize the CLTS over UDP.  However as with RFC
  236.    1006, other port values may be used by prior agreement (e.g., through
  237.    use of the OSI Directory).
  238.  
  239.    This RFC describes how to use these services to emulate the following
  240.    connectionless-mode network service primitives, which are required by
  241.    [ISO8602]:
  242.  
  243.     N-UNIT-DATA.REQUEST     -  A NS-user requests unit data to be sent
  244.  
  245.     N-UNIT-DATA.INDICATION  -  A NS-user is notified that unit data
  246.                                can be read from the NSAP
  247.  
  248.    The mapping between the UDP service primitives and the service
  249.    primitives expected by the connectionless transport peer entity are
  250.    quite straightforward:
  251.  
  252.     connectionless network service  UDP
  253.     ------------------------------  ---
  254.  
  255.     N-UNIT-DATA.REQUEST             send datagram
  256.  
  257.     N-UNIT-DATA.INDICATION          read datagram
  258.  
  259.  
  260. The parameter mapping is:
  261.  
  262.     connectionless network service  UDP
  263.     ------------------------------  ---
  264.  
  265.     Source address                  source IP address from
  266.                                     calling TS-address
  267.  
  268.     Destination address             destination IP address from
  269.                                     called TS-address
  270.  
  271.     Quality of service              (ignored)
  272.  
  273.     NS-user data                    UD TPDU constructed from T-UNIT-DATA
  274.  
  275.    When the T-UNIT-DATA.REQUEST primitive is issued, the TS-peer
  276.    constructs a UD TPDU and sends it as a single datagram to the desired
  277.    IP address using UDP.
  278.  
  279.  
  280.  
  281.  
  282. Shue, Haggerty & Dobbins                                        [Page 5]
  283.  
  284. RFC 1240                   OSI on top of UDP                   June 1991
  285.  
  286.  
  287.    When UDP indicates that a datagram has been received, a UD TPDU is
  288.    read from UDP, and a T-UNIT-DATA.INDICATION primitive is generated.
  289.  
  290. 5.  Packet Format
  291.  
  292.    The following is the UD TPDU structure which is encapsulated in UDP
  293.    data field:
  294.  
  295.           1       2         3                m m+1          n
  296.           +--------------------------------------------------+
  297.           |  LI  |  UD      |  Variable Part  |  User Data   |
  298.           |      | 01000000 |                 |              |
  299.           +--------------------------------------------------+
  300.  
  301.     LI (octet 1) -  the length of the header including parameters, but
  302.                     excluding the LI and user data, with a maximum
  303.                     value of 254
  304.  
  305.     UD (octet 2) -  the type of TPDU
  306.  
  307.     Variable Part (octets 3 to m) - the source and destination TSAP id's
  308.           Parameter code:   source TSAP       11000001
  309.                             destination TSAP  11000010
  310.           Parameter length: the length of the parameter, not including
  311.                             the parameter code or length fields, with a
  312.                             maximum value of 254
  313.           Parameter value:  source or destination T-selector
  314.  
  315.           The optional checksum parameter is not required in the
  316.           variable part since the UDP checksum field in the UDP header
  317.           already performs the checking.
  318.  
  319.     User Data (octets m+1 to n) -  all the data of the TSDU.
  320.  
  321.    The maximum NS-user data allowed in the OSI connectionless network
  322.    service is 64,512 octets.  This limit is further constrained by the
  323.    lesser maximum datagram size supported by the two communicating UDP
  324.    peers, which should be known by a priori agreement.
  325.  
  326. 6.  Conclusion
  327.  
  328.    There is a general trend towards support of the OSI protocol suite in
  329.    the Internet.  This direction is being fostered by the Internet
  330.    Activities Board (IAB) and its Internet Engineering Task Force, and
  331.    by the Federal Networking Council.  By offering an OSI connectionless
  332.    transport service on top of the Internet, this RFC will allow future
  333.    applications to use the OSI connectionless upper-layer services,
  334.    which are required to be conformant to the OSI upper layer
  335.  
  336.  
  337.  
  338. Shue, Haggerty & Dobbins                                        [Page 6]
  339.  
  340. RFC 1240                   OSI on top of UDP                   June 1991
  341.  
  342.  
  343.    architecture.  Currently, T-UNIT-DATA, S-UNIT-DATA, P-UNIT-DATA, and
  344.    A-UNIT-DATA have reached International Standard (IS).  As
  345.    applications based on OSI connectionless services become widely
  346.    available and OSI lower-layer service is widely implemented in the
  347.    Internet, the underlying UDP/IP services can be simply replaced with
  348.    the OSI lower layers.
  349.  
  350. 7.  Acknowledgements
  351.  
  352.    Marshall T. Rose of PSI, Inc., provided many valuable comments and
  353.    corrections.
  354.  
  355. 8.  References
  356.  
  357.    [GOSIP88]  U.S. Department of Commerce/National Bureau of Standards,
  358.    [FIPS146]  "Government Open Systems Interconnection Profile (GOSIP)",
  359.               August 1988.
  360.  
  361.    [ISO7498/AD1]  ISO, "International Standard 7498 - Information
  362.               Processing Systems - OSI:  Basic Reference Model
  363.               Addendum 1: Connectionless-mode Transmission",
  364.               May 1986.
  365.  
  366.    [ISO8072]  ISO, "International Standard 8072 - Information Processing
  367.               Systems - OSI:  Transport Service Definition", June 1984.
  368.  
  369.    [ISO8072/AD1]  ISO, "International Standard 8072 - Information
  370.               Processing Systems - OSI:  Transport Service Definition
  371.               Addendum 1: Connectionless-mode Transmission",
  372.               December 1986.
  373.  
  374.    [ISO8602]  ISO, "International Standard 8602 - Information Processing
  375.               Systems - OSI:  Connectionless Transport Protocol
  376.               Specification", December 1986.
  377.  
  378.    [ISO9548]  ISO, "International Standard 9548 - Information Processing
  379.               Systems - OSI:  Connectionless Session Protocol
  380.               Specification", April 1989.
  381.  
  382.    [ISO9576]  ISO, "Draft International Standard 9576 - Information
  383.               Processing Systems - OSI:  Connectionless Presentation
  384.               Protocol Specification", April 1989.
  385.  
  386.    [ISO10035]  ISO, "Draft International Standard 10035 - Information
  387.               Processing Systems - OSI:  Connectionless ACSE Protocol
  388.               Specification", April 1989.
  389.  
  390.    [ISOSC21/WG6 N184]  ISO SC21 WG6, "Justification for Connectionless
  391.  
  392.  
  393.  
  394. Shue, Haggerty & Dobbins                                        [Page 7]
  395.  
  396. RFC 1240                   OSI on top of UDP                   June 1991
  397.  
  398.  
  399.               Services in the Upper Layers", June 1986.
  400.  
  401.    [RFC768]   Postel, J., "User Datagram Protocol", RFC 768,
  402.               USC/Information Sciences Institute, September 1981.
  403.  
  404.    [RFC791]   Postel, J., "Internet Protocol", RFC 791,
  405.               USC/Information Sciences Institute, September 1981.
  406.  
  407.    [RFC1006]  Rose, M., and D. Cass, "ISO Transport Service on top of
  408.               the TCP - Version 3", RFC 1006, Northrop Research and
  409.               Technology Center, May 1987.
  410.  
  411. Security Considerations
  412.  
  413.    Security issues are not discussed in this memo.
  414.  
  415. Authors' Addresses
  416.  
  417.  
  418.    Chikong Shue
  419.    Open Software Foundation, Inc.
  420.    11 Cambridge Center
  421.    Cambridge, MA 02142
  422.  
  423.    Phone: (617) 621-8972
  424.    EMail: chi@osf.org
  425.  
  426.  
  427.    William Haggerty
  428.    Wang Laboratories, Inc.
  429.    1 Industrial Ave
  430.    Lowell, MA 01851
  431.  
  432.    Phone: (508) 967-3403
  433.    EMail: bill@comm.wang.com
  434.  
  435.  
  436.    Kurt Dobbins
  437.    Cabletron, Inc.
  438.    35 Industrial Way
  439.    Rochester, NH 03867
  440.  
  441.    Phone: (603) 332-9400
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450. Shue, Haggerty & Dobbins                                        [Page 8]
  451.